//  
//  Author:
//       Wouter Demuynck <wouter.am.demuynck@gmail.com>
// 
//  Copyright (c) 2011 Wouter Demuynck
// 
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
// 
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//  GNU General Public License for more details.
//  
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// 

using System;
using System.Configuration;
using System.ComponentModel;

namespace HgSharp.Configuration
{
	public class HgSharpSection : ConfigurationSection
	{		
		public HgSharpSection()
		{
		}
		
		[ConfigurationProperty("toolsPath", IsRequired = true)]
		public string ToolsPath
		{
			get
			{
				return this["toolsPath"] as string;
			}
			set
			{
				this["toolsPath"] = value;
			}
		}
		
		[ConfigurationProperty("timeout", IsRequired = false, DefaultValue = "60")]
		[TypeConverter(typeof(TimeSpanMinutesOrInfiniteConverter))]
		public TimeSpan Timeout
		{
			get
			{
				object value = this["timeout"];
				if (value == null) value = this["timeout"] = TimeSpan.FromMinutes(60);
				return  (TimeSpan)value;
			}
			set
			{
				this["timeout"] = value;
			}
		}
	}
}

